﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ivy.Common.Framework.Base;
using System.Runtime.Serialization;

namespace Ivy.SiteAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class ContentBinaryDataContent: DataEntityBase
    {
        #region  Variable & constant
        Int32 lContentMetaDataKey = -1;
        byte[] lContentBinaryData = null;
        string lContentBinaryDataFileName = string.Empty;
        string lContentBinaryDataType = string.Empty;
        byte[] lContentThumbnailImage = null;
        Int32 lContentTotalDownloads = 0;
        #endregion  Variable & constant

        #region Constructor & Destructor
        public ContentBinaryDataContent()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
        #endregion Constructor & Destructor

        #region Properties
        [DataMember]
        public Int32 ContentMetaDataKey
        {
            get
            {
                return lContentMetaDataKey;
            }
            set
            {
                lContentMetaDataKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public byte[] ContentBinaryData
        {
            get
            {
                return lContentBinaryData;
            }
            set
            {
                lContentBinaryData = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string ContentBinaryDataFileName
        {
            get
            {
                return lContentBinaryDataFileName;
            }
            set
            {
                lContentBinaryDataFileName = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public string ContentBinaryDataType
        {
            get
            {
                return lContentBinaryDataType;
            }
            set
            {
                lContentBinaryDataType = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public byte[] ContentThumbnailImage
        {
            get
            {
                return lContentThumbnailImage;
            }
            set
            {
                lContentThumbnailImage = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        [DataMember]
        public Int32 ContentTotalDownloads
        {
            get
            {
                return lContentTotalDownloads;
            }
            set
            {
                lContentTotalDownloads = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
